package com.iking.housekeeping.util;

/**
 * 编号操作
 * 
 * @author Administrator
 *
 */
public class CodeUtil {

	/**
	 * 根据父级菜单Code和当前Code返回正确的Code
	 * @param pCode
	 * @param code
	 * @return
	 */
	public static String changeCode(String pCode, String code) {
		return pCode + code.substring(code.length() - 2, code.length());
	}

	/**
	 * 根据父级编号和序号(从0开始)获取正确的编号
	 * 
	 * @param pCode
	 * @param index
	 * @return
	 */
	public static String getCodeByPCode(String pCode, Integer index) {
		index++;
		Integer difference = 10;
		if (index < difference) {
			return pCode + "0" + index;
		}
		return pCode + index;
	}

	/**
	 * 根据当前编号和排序(从0开始)获取正确的编号
	 * 
	 * @param code
	 * @param index
	 * @return
	 */
	public static String getCodeByCode(String code, Integer index) {
		return getCodeByPCode(code.substring(0, code.length() - 2), index);
	}

	/**
	 * 根据当前编号获取序号
	 * 
	 * @param code
	 * @return
	 */
	public static Integer getIndexByCode(String code) {
		// 编号长度
		Integer codeLength = code.length();
		// 序号字符串
		String indexString = code.substring(codeLength - 2, codeLength);
		// 序号
		return Integer.parseInt(indexString);
	}

}
